# Bittorrent commands

function __fish_complete_bittorrent
	complete -c $argv -l max_uploads -x --description "Maximum uploads at once"
	complete -c $argv -l keepalive_interval -x --description "Number of seconds between keepalives"
	complete -c $argv -l download_slice_size -x --description "Bytes per request"
	complete -c $argv -l request_backlog -x --description "Requests per pipe"
	complete -c $argv -l max_message_length -x --description "Maximum length prefix encoding"
	complete -c $argv -l ip --description "IP to report to the tracker" -x -a "(__fish_print_addresses)"
	complete -c $argv -l minport --description "Minimum port to listen to"
	complete -c $argv -l maxport --description "Maximum port to listen to"
	complete -c $argv -l responsefile -r --description "File for server response"
	complete -c $argv -l url -x --description "URL to get file from"
	complete -c $argv -l saveas -r --description "Local file target"
	complete -c $argv -l timeout -x --description "Time to close inactive socket"
	complete -c $argv -l timeout_check_interval -x --description "Time between checking timeouts"
	complete -c $argv -l max_slice_length -x --description "Maximum outgoing slice length"
	complete -c $argv -l max_rate_period -x --description "Maximum time to guess rate"
	complete -c $argv -l bind -x --description "IP to bind to locally" -a "(__fish_print_addresses)"
	complete -c $argv -l display_interval -x --description "Time between screen updates"
	complete -c $argv -l rerequest_interval -x --description "Time to wait between requesting more peers"
	complete -c $argv -l min_peers -x --description "Minimum number of peers to not do requesting"
	complete -c $argv -l http_timeout -x --description "Number of seconds before assuming http timeout"
	complete -c $argv -l max_initiate -x --description "Number of peers at which to stop initiating new connections"
	complete -c $argv -l max_allow_in -x --description "Maximum number of connections to allow"
	complete -c $argv -l check_hashes -x --description "Whether to check hashes on disk"
	complete -c $argv -l max_upload_rate -x --description "Maximum kB/s to upload at"
	complete -c $argv -l snub_time -x --description "Seconds to wait for data to come in before assuming choking"
	complete -c $argv -l spew -x --description "Whether to display diagnostic info"
	complete -c $argv -l rarest_first_cutoff -x --description "Number of downloads at which to switch from random to rarest first"
	complete -c $argv -l min_uploads -x --description "Number of uploads to fill out to with optimistic unchokes"
	complete -c $argv -l report_hash_failiures -x --description "Whether to inform the user that hash failures occur"
end
